package com.xiaolin.designmode.state;

/**
 * @ClassName State
 * @Description 抽象状态类
 * @Detail 对这种有状态的对象编程，传统的解决方案是：将这些所有可能发生的情况全都考虑到，然后使用 if-else 语句来做状态判断，再进行不同情况的处理。
 *          但当对象的状态很多时，程序会变得很复杂。而且增加新的状态要添加新的 if-else 语句，这违背了“开闭原则”，不利于程序的扩展。
 *              1、步骤:
 *                  1、创建抽象状态类
 *                  2、创建环境角色
 *                  3、创建若干具体状态类
 *              2、总结：
 *                  1、角色
 *                      1、环境角色
 *                      2、抽象状态类
 *                      3、具体状态类
 *                  2、使用范围：
 *                      用“状态模式”可以设计一个学生成绩的状态转换程序，如学生分数为60分一下判断不及格、60-70判断一般，以此类推
 * @Author MyPC
 * @Date 2020/11/6
 * @Version 1.0
 */
public abstract class State {
    public abstract void handle(Context context);
}
